In recent years, a diverse range of businesses is appearing on the Internet, such as electronic business transactions (or e-commerce). In order to successfully secure business opportunities, the WWW (World Wide Web) server system supporting these Internet businesses must shorten as much as possible the processing time required for accessing and processing requests from a rapidly increasing number of clients.
A server system of this type, capable of efficiently processing a large volume of access requests, is comprised of three layers, i.e., a web layer server to acquire the necessary data and provide the information to the client in response to a processing request from the client, an application layer server to process data stored in the database and send the desired data to the web layer server in response to a data acquisition request from the web layer server, and a database layer server to access the database, acquire the data prior to processing and send it to the application layer server. The triple layer web server system is connected by communication paths typically consisting of a LAN (Local Area Network).
To distribute the workload, each layer of the triple layer server system operates plural server devices or operates plural logical system units with a shared memory, i.e., multiprocessor system consisting of plural processors, plural main memory means accessible from any of the processors, and a connecting means connecting together these processors and the main memory means such that processing is executed similarly in any one server device or one logical system unit. The triple layer server system also efficiently handles large numbers of processing requests by installing a load balancing device to monitor the work status of these multiple server devices or logical system units at the start of processing on each layer and then selecting at least one appropriate server according to that work status.
A block diagram of the web server system 1 of the related art is shown in FIG. 3. The web server system, as indicated above, is made up of a web layer server 11, an application layer server 12, and a database layer server 13 to acquire data from the database device 14. The web layer server 11 in FIG. 3 is comprised of multiple server devices 11 to quickly and efficiently handle the many processing requests. When a processing request arrives from the client 16 by way of wideband communication path 1, such as a WAN (Wide Area Network), a load balancing device 15 decides the connection point (destination) according to the work status of the web layer server.
In the figure, the process request from the client 16 is received by the load balancing device 15. When the process request is received by the load balancing device 15, the work status, or more particularly, the load status, and number of sessions currently being processed, of all or some of the server devices 11 are acquired, the server capable of the most efficient processing is selected, and its connection with the client is made. The selected server receives the process request from the client and starts the processing. If necessary, after processing starts, a data acquisition request is sent to the application layer server 12 and the database layer server 13, and the server device continues processing when the data is acquired.
Technology of the known art relating to the load balancing device is discussed as follows.
JP-A-22714/2001 discloses a method for determining the degree of importance (criticality) of processing requested from the client, and then utilizing this criticality to balance the load.
U.S. Pat. Nos. 5,774,668 and 5,951,694 disclose method for dispersing the load on the application server by using a gateway device to bear the connection load between the client and multiple application servers.
A method disclosed in U.S. Pat. No. 5,867,706 disperses the load on each processor on parallel servers.
U.S. Pat. No. 5,951,634 discloses a method for dispersing the load in a multiple server system.
Another example of the known art for reducing web server processing time is disclosed in JP-A-5713/2001, wherein, when data is accessed in a database, the data is held in an auxiliary memory device or a so-called database cache such that the data can be obtained at high speed from the auxiliary memory device when a data request for accessing the data is made from then onwards.
In the web server system of the related art, loads are only balanced for connection requests from the client, and the load is optimized on each server. In a system of this kind, when handling multiple processing requests, time dispersion occur in acquiring or creating the data for each of the processing requests.
In processing in the web server of the related art, differences in the amount of acquired data caused dispersion in the time needed for creating and acquiring the data. Applying high-speed data acquisition technology such as database caches also caused dispersion in the time needed for creating and acquiring the data, since the processing content caused differences in the time needed to access the database storing the data required for processing.
In those cases, at the start of processing, i.e., when the connection request is received to start processing, connections are assigned to the multiple servers receiving these multiple processing requests such that the load on these servers will be uniform. However, when, for example, one portion of the assigned servers are assigned a heavy processing load requiring a long time, and the other servers are assigned relatively light processing loads requiring a short time, then the dispersion (or variations) in processing times allows, as processing continues, the load concentrated in just one or some of the servers.